iT邦幫忙

2022 iThome 鐵人賽

DAY 29
0

重新整理幾次失敗後,我轉念一想,應該會有備援方案才對。

讓學妹確認幾個可能之處後,果然在書籤列表裡找到了另一個程式碼網站Codeforces

截圖 2022-10-05 下午9 31 49

「學姊,這個介面有點原始耶。」

「能用就好了。」

在確認過閃電是表示難易度,綠色勾勾則是被解決的次數後,我們就採用後者,找到最多人解決的題目A. Watermelon

「字好多好囉唆。」學妹不禁抱怨。

「確實呢,告訴妳更麻煩的地方。」我開啟答題畫面,指著畫面中間說:「答案欄完全空白!不像leetcode還會放個函式外殼。我推測是因為這個網站除了直接輸入,還提供上傳程式碼檔案的方法。」

截圖 2022-10-05 下午9 34 30

不過,學妹也發現了codeforces勝過leetcode的優點:「啊,程式語言的地方可以選擇版本!有Kotlin1.6耶。」

截圖 2022-10-05 下午10 05 32

「好了,我們先回到題目上吧,萬一這個網站也掛了就不好笑了。」我戳戳學妹的頭。

「說的也是,嗯⋯⋯是要判斷數字能不能拆分成兩個偶數,對吧?」

我點點頭。

「那我就這樣寫唷。」

fun main() {
    val weight = readLine()!!.toInt()
    println(if (weight % 2 == 0 && weight > 2) "YES" else "NO")
}

學妹的程式碼沒有問題,不過我提供了另一個解法。

fun main() {
    val weight = readLine()!!.toInt()
    println(if ((weight - 3) % 2 == 1) "YES" else "NO")
}

「為什麼可以這樣寫啊?」學妹指了指最後那行程式碼邊問:「偶數減去奇數,是奇數這部分沒問題,但為什麼要選3這個數字呢?」

「因為在Kotlin裡面,負數對正數的餘數是小於等於零的啊,所以這樣寫的話,就相當於同時判斷了大於3這件事。比妳的寫法多省一點點的時間。」

「哦哦!原來如此!好有趣的想法。不過學姊這樣說的話,就是有的程式語言不能用這個寫法囉。」

「嗯,我記得Python不行呢。不過也可能隨著版本變化啦。」

「好,那我送出去了!」學妹按下Submit按鈕,結果很快就出來。

截圖 2022-10-05 下午10 26 06

出乎意料的是,電腦在結果上方顯示了紅色的華麗字體「恭喜,提前達成目標,大門即將開啟⋯⋯」。

我和學妹馬上將衣物收拾好,期待的盯著大門打開。

門一開,我就迫不及待地衝出這個曾帶來危險的房間。

衝出房間有一段距離後,我才放心調整急促的呼吸節奏。

但還是不敢回頭看,怕回頭後又被拉進去,只敢用眼角餘光確認學妹有沒有跟上。

突然有個人影晃過學妹身邊,我頭不動只轉動眼珠子努力認了出來。「咦?是Kate學姊!」

「啊呀,學妹妳提前出來啦!恭喜呀。看來妳找工作應該不用煩惱。」學姊豪爽地笑著。「對了,我最近出了一本書《老姐要用 Kotlin 寫專案:從 Server 到 Android APP 的開發生存日記》,妳可以買來看看,提前感受以寫程式碼維生的生活唷。」

「Kate學姊妳別嚇我了。我這幾天寫的程式碼還不夠嗎!」

「正確來說是我寫的耶,學姊只出了嘴!」學妹忍不住插話。

「哦?這是小學妹嗎?也一起過來吧,順便認識幾個厲害的人唷。」

Kate學姊原來還帶了兩個人啊。我盯著其中一人看,覺得有點眼熟。

「咦?難道他是!」

「對唷,他是聖佑,之前帶妳參加的Kotlin讀書會的發起人,也是《Kotlin Collection 全方位解析攻略》的作者。」

「我有買那本書!」學妹很興奮。「我可以把書拿來給你簽名嗎?」

「當然可以。」聖佑微笑。「如果書不在身邊,也可以參加Coscup或是JCConf這類科技社群活動,我都會擺攤。」

「那另一位是?」我看向另一個男生。

「我是Recca,在讀書會負責刷題組,最近開了一間和社群相關的兔給得資訊公司。」Recca帶著笑容走過來握手。

我邊握手邊想起來:「啊,我在社群裡從其他人聽說過,是個寫文章和刷題都不忘練指力的鐵人!」

「這是什麼微妙的印象?」Recca笑出聲。「Kate妳快澄清一下。」

「咦?這不是我說的。」Kate學姊趕緊搖搖手。

「⋯⋯我不是讓妳澄清那個啦。」

笑語聲充斥著整個長廊,也驅散了我多日的煩憂。

Happy End


上一篇
Day 28: [Bad End] LinkedList、Stack、ArrayDeque速度的代價
下一篇
Day 30: [True End] 解題需要目標和同伴才能長久
系列文
不解題就不能離開的房間31
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言